home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / programs / sapphire.zip / SAPPHIRE.DOC < prev    next >
Text File  |  1992-01-14  |  64KB  |  2,250 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                                 S A P P H I R E
  15.  
  16.  
  17.  
  18.                          COMPUTER BULLETIN BOARD SYSTEM
  19.  
  20.  
  21.  
  22.  
  23.  
  24.                                  Release: 4.00A
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.                                 Operation Manual
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.          PINNACLE SOFTWARE, Box 714 Airport Road, Swanton VT 05488 USA
  47.  
  48.              PINNACLE SOFTWARE, CP 386 TMR, Quebec, Canada H3P 3C6
  49.  
  50.  
  51.                  CUSTOMER SERVICE LINE (VOICE): (514) 345-9578
  52.  
  53.                  DATA LINE (9600 baud, V42bis): (514) 345-8654
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.                      =====================================
  67.                      LEGAL NOTICES AND SUPPORT INFORMATION
  68.                      =====================================
  69.  
  70.  
  71.  
  72. Shareware and Registration
  73. --------------------------
  74.  
  75.  
  76. This version  of Sapphire is distributed  as shareware.   With respect to  Sap-
  77. phire, "shareware" means  that you may try out the  program for 45 days without
  78. paying  for it.   If you continue  to use  it after that time,  though, you are
  79. indicating  that the  product fulfils your  needs and  as such  you are legally
  80. required  to register  it ($45).    When you  register Sapphire,  you  gain the
  81. following benefits:
  82.  
  83.  
  84.   - You get a disk containing the most recent version of Sapphire available
  85.   - The "Program under evaluation" message disappears from your BBS
  86.   - You get bonus software sent along with the registered Sapphire
  87.   - You get substantial discounts on our other products
  88.   - You get privileged access to our free files BBS
  89.   - You get privileged access to our voice support line
  90.   - You get unscheduled news mailings and software samples
  91.   - You get access to Sapphire source code (extra fees may apply here)
  92.   - You help keep down the high cost of software -- by supporting shareware!
  93.  
  94.  
  95. Shareware terms  do not extend  to the  source code of  Sapphire, nor to  later
  96. versions,  nor accessories, unless  they are declared as  shareware by Pinnacle
  97. Software.
  98.  
  99.  
  100.            Sapphire is Copyright (C) 1986, 1992 by Pinnacle Software.
  101.  
  102.              Turbo Pascal is a Trademark of Borland International.
  103.  
  104.                      DSZ is a Trademark of Omen Technology.
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.                                        ii
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122. Support for Registered Sysops
  123. -----------------------------
  124.  
  125.  
  126. The Sapphire release number follows this pattern:
  127.  
  128.  
  129.                     Version Number       Internal ID
  130.                                  |       |          
  131.                                  4 . 0 0 A          
  132.                                     /   \           
  133.                       Upgrade Level       Correction Level
  134.  
  135.  
  136. A registered Sapphire owner is entitled to operate any release of Sapphire with
  137. the  same Version and Upgrade  Level, and the same or  different Internal ID or
  138. Correction Level.    Thus, corrections  to the  program  ("bug fixes")  can  be
  139. obtained at  no cost by downloading  them from our  support board, or for  a $3
  140. shipping fee, by mail.
  141.  
  142.  
  143.  
  144. Installation and Trouble-Shooting
  145. ---------------------------------
  146.  
  147.  
  148. For complete information about installation and  trouble-shooting, refer to the
  149. INFO section of the SYSOP utility that accompanies Sapphire  (type SYSOP at the
  150. DOS prompt).  The information there can be viewed online or printed  to LPT1 or
  151. LPT2.
  152.  
  153. If  you are  installing Sapphire  for  the first  time, you  may  call Pinnacle
  154. Software for assistance if you can not complete the basic installation success-
  155. fully.  But you  may be able to save  yourself time and long-distance  charges:
  156. experience has shown us  that 90% of all installation problems can be solved by
  157. the advice in the trouble-shooting section of the SYSOP utility.
  158.  
  159.  
  160.  
  161. Upgrading From Earlier Versions
  162. -------------------------------
  163.  
  164.  
  165. Refer  to the  INSTALL article in  the INFO  section of  the SYSOP  utility for
  166. instructions for upgrading from earlier versions of Sapphire.
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.                                       iii
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.                                =================
  184.                                TABLE OF CONTENTS
  185.                                =================
  186.  
  187.  
  188. LEGAL NOTICES AND SUPPORT INFORMATION . . . . . . . . . . . . . . . . . .    ii
  189.       Shareware and Registration
  190.       Support for Registered Sysops
  191.       Installation and Trouble-Shooting
  192.       Upgrading From Earlier Versions
  193.  
  194. BASIC SYSTEM OPERATION  . . . . . . . . . . . . . . . . . . . . . . . . . .   1
  195.       Duties of the System Operator
  196.       Signing on Locally
  197.       Signing on as SYSOP
  198.       Function Keys
  199.       The Status Line
  200.       Online Validation and Banishment
  201.       Yoo-Hoo and Rename
  202.  
  203. AUTO-MAINTENANCE  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   6
  204.       User File Auto-Maintenance
  205.       Message File Auto-Maintenance
  206.       Library Auto-Maintenance
  207.       Files Auto-Maintenance
  208.  
  209. CUSTOMIZING YOUR SYSTEM'S APPEARANCE  . . . . . . . . . . . . . . . . . . .   8
  210.       An Overview of Your Customization Options
  211.       Option 1.  Configuration
  212.       Option 2.  Application
  213.       Option 3.  Hardware
  214.       Option 4.  Stock Files
  215.       Option 5.  Message Bases
  216.       Option 6.  Doors and Events
  217.       Option 7.  Custom Programming
  218.  
  219. CUSTOMIZING MEMBERSHIP LEVELS . . . . . . . . . . . . . . . . . . . . . .    13
  220.       Overview of Membership Levels
  221.       Why Change Anything?
  222.       The COMMANDS.LEV File
  223.       Default Membership Design
  224.  
  225. CUSTOMIZING STOCK FILES . . . . . . . . . . . . . . . . . . . . . . . . .    18
  226.       The Two Types of Stock Files
  227.       Drawing with Graphic Characters
  228.       Stock File Naming Convention
  229.       Stock File Commands
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.                                        iv
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244. DOORS AND EVENTS  . . . . . . . . . . . . . . . . . . . . . . . . . . . .    24
  245.       Definitions
  246.       Applications for Event Processing
  247.       Applications for Doors Processing
  248.       Coding Your Batch Files
  249.       Writing Door and Event Programs
  250.  
  251. FILE TRANSFER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    28
  252.       What is File Transfer?
  253.       Installing File Transfer
  254.       Adding Software Locally
  255.       Adding Software Remotely
  256.       How Online Documentation Works
  257.       Transfer Protocols
  258.  
  259. MISCELLANEOUS TOPICS  . . . . . . . . . . . . . . . . . . . . . . . . . .    31
  260.       Gear Shift
  261.       Password Changes
  262.       Command Abbreviations
  263.       Additional Documentation
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.                                        v
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.                              ======================
  306.                              BASIC SYSTEM OPERATION
  307.                              ======================
  308.  
  309.  
  310.  
  311. Duties of the System Operator
  312. -----------------------------
  313.  
  314.  
  315. The user-name for  the System Operator is:  SYSOP.   You may prefer to  sign up
  316. with your real name and set yourself  at the highest user level (level 8).   As
  317. the  sysop, your main duty is to  "validate" (grant membership to) new members.
  318. You do this with Sapphire's VALIDATE command.
  319.  
  320.  
  321.  
  322. Signing on Locally
  323. ------------------
  324.  
  325.  
  326. When  Sapphire is  waiting for  a caller,  press a  key.   This will  "wake up"
  327. Sapphire, and freeze out the modem by putting it "off-hook".  You can then sign
  328. on as if you had dialled up.
  329.  
  330. If you  don't want  your phone  off  the hook,  you can  start up  Sapphire  in
  331. non-modem  mode by  selecting LOCAL  in  the SYSOP  utility.   This  completely
  332. ignores anything to do with the modem.
  333.  
  334.  
  335.  
  336. Signing on as SYSOP
  337. -------------------
  338.  
  339.  
  340. The information presented below is  based on the default set-up.   For security
  341. reasons, the  password shown  here should be  modified (using the  BYE PASSWORD
  342. command) as soon as possible.
  343.  
  344.       1.    Wait until Sapphire is waiting for a visitor.
  345.       2.    Press a key to wake it up.
  346.       3.    When asked for your name, press Space-bar, then Return.
  347.       4.    When you are asked for the password,  type  SYSOP  then Return.
  348.  
  349. You can then  type Sapphire  commands (the menu  lists most of  them; the  HELP
  350. command lists all of them), or press some function keys...
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.                                        1
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366. Function Keys
  367. -------------
  368.  
  369.  
  370. Sapphire's function keys are assigned as follows:
  371.  
  372.  
  373. REGULAR FUNCTION KEYS 
  374.  
  375. F 1   Function-key help.  Also lists meanings of the status line icons.
  376.  
  377. F 2   Enable Yoo-Hoo.  Makes a noise when a specified person shows up.
  378.  
  379. F 3   Removes 10 minutes online-time from whoever is connected. 
  380.  
  381. F 4   Adds on 10 minutes online-time  to  whoever is connected. 
  382.  
  383. F 5   Enable/Disable instant chat (type-to-sysop) via the CHAT command.
  384.  
  385. F 6   Break in to chat with the person who is currently online.
  386.  
  387. F 7   Not used.
  388.  
  389. F 8   Not used.
  390.  
  391. F 9   Modify number-of-hours-between-calls
  392.  
  393. F10   Sound effects on/off.
  394.  
  395.  
  396. ALT FUNCTION KEYS
  397.  
  398. F 1   Turn printer on and off (uses LPT1).
  399.  
  400. F 2   Freeze out the  person on the modem.  You do this if  you want to enter a
  401.       few quick  commands on his behalf but don't want him  to see what you are
  402.       typing.  Press ALT-F2 again to restore communication.
  403.  
  404. F 3   Subtract 1 from the membership level of the person who is signed on.
  405.  
  406. F 4   Add 1 to the membership level of the person who is signed on.
  407.  
  408. F 5   Announce mode  on/off.  In announce  mode, nobody can log  on.  All
  409.       people get to  see is your sign-on logo, which  is contained in the
  410.       text file LOGOXX.STD.   This lets you  run your BBS as a  "News and
  411.       Announcements System".
  412.  
  413. F 6   Send file.   This is used to transmit  a text file -- usually while chat-
  414.       ting  with a remote user.   While the file is  being transmitted, you can
  415.       cancel, pause or slow down the output in the usual ways (spacebar, "P" or
  416.       number keys, respectively).
  417.  
  418.  
  419.                                        2
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427. F 7   Changes the name of the visitor  to one that you specify.  The  new
  428.       name is checked to prevent duplication.
  429.  
  430. F 8   Instant banishment.   Removes visitor from  the valid caller  list.
  431.       If you change your mind before he logs off, you can hit F8 again to
  432.       reinstate the user.
  433.  
  434. F 9   Shut-down.   If nobody is signed on, Sapphire ends immediately.  If
  435.       somebody is logged on, Sapphire will end when he or she logs off.
  436.  
  437. F10   Turn Ultra-Mode on or off.   Ultra-Mode is a kind of  "Super-Sysop"
  438.       mode.  While in this mode, a user may...
  439.  
  440.       - Execute commands of any level
  441.       - Use the CHANGE command on somebody else's message
  442.       - Read all private messages
  443.       - Call back in less than the usual time (Level 6+ can always do this)
  444.       - Skip around a devalidation message at sign-on and proceed normally
  445.       - Use the VALIDATE command on people at his level or higher
  446.  
  447.       The user named SYSOP is automatically in Ultra-mode.  Other users -- even
  448.       other  Level 8 users -- must have  it turned on explicitly by the ALT-F10
  449.       key.  When ALT-F10 is pressed, a long, raucous sound is emitted from your
  450.       computer's speaker.  This tends to discourage people from hitting the key
  451.       "by accident".
  452.  
  453.  
  454.  
  455. The Status Line
  456. ---------------
  457.  
  458.  
  459. The top  two lines of  the Sapphire  screen provide you  with some  information
  460. about what is going  on.  The top line lists membership level, time left, state
  461. icons (explained later), and the  last item that went  in the system log.   The
  462. second line lists the member's sign-on name and full name, and phone number.
  463.  
  464. The state  icons are  single-character indicators.   You can  think of  them as
  465. on/off lights, if you wish.  For an  short description of each icon, press  the
  466. F1 key.  This displays a table describing each icon.
  467.  
  468. Here is a more detailed explanation of each icon:
  469.  
  470. Downwards-pointing triangle:   The ALT-F9 key was pressed to  put the system in
  471. "shutdown mode"  and will be  closed when  it next disconnects  (i.e. when  the
  472. current visitor logs off).
  473.  
  474. Infinity symbol (sideways  8):  Ultra-mode is on.  This is turned on and off by
  475. the ALT-F10 key.
  476.  
  477. Diamond:  The system is waiting for somebody in particular to show up.  You can
  478. specify a list of names by pressing the F2 key.
  479.  
  480.                                        3
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488. Happy  face:   People who  use  the CHAT  command  will be  placed directly  in
  489. conversation, instead  of seeing  an "unattended"  message.  This  is handy  if
  490. somebody is online who usually asks you for a chat.
  491.  
  492. Question  mark:  the  current user entered  the CHAT command  to try to  get in
  493. touch with you.  The CHAT command makes a noise if you have sound turned on.
  494.  
  495. Exclamation mark:  You pressed the ALT-F6 key to put the system  into "announce
  496. only" mode.  People  will only see the LOGOXX stock file before getting discon-
  497. nected.
  498.  
  499. Double-note:  Sound is on.  Turn it on or off with the F10 key.
  500.  
  501. Triple-line:  Printer is active.  The printer (which should be connected to the
  502. parallel port LPT1) is turned on or off by the ALT-F1 key.
  503.  
  504. These icons may take a while to get used to, but before long, you'll be able to
  505. tell at a glance what's happening on your system.
  506.  
  507.  
  508.  
  509. Online Validation and Banishment
  510. --------------------------------
  511.  
  512.  
  513. ALT-F8  will banish  the current  visitor.   However, the  ALT-F8 key  does not
  514. update the file until  the member disconnects, so  if you have a system  crash,
  515. the file will still reflect  the old value.   In general, all data  affecting a
  516. member's  current session  is lost  if your system  crashes, since  the members
  517. information is  written only  "on the way  out".   For this reason,  it is  not
  518. possible for a sysop-level member to banish himself!
  519.  
  520. If you press  ALT-F8, but change  your mind before the  user logs off,  you can
  521. press the key one more time to reverse your decision.
  522.  
  523.  
  524.  
  525. Yoo-Hoo and Rename
  526. ------------------
  527.  
  528.  
  529. If you intend to  run a BBS  that does not tolerate  aliases, but insists  that
  530. people use real names, the combination of F2 (Yoo-Hoo) and ALT-F7 (Rename) will
  531. prove useful.
  532.  
  533. When you press the Yoo-Hoo key, you will  be prompted to enter a list of names,
  534. separated by slashes.  For example, you might enter:
  535.  
  536.            Robert Libman/Rene Levesque/Elizabeth Mountbatten-Windsor
  537.  
  538. When somebody signs  on under any of the indicated  names, Sapphire will make a
  539. distinctive noise to alert you.
  540.  
  541.                                        4
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549. You can then  break in  (using F6 --  Chat) and  tell the  person that you  are
  550. changing his  sign-on name to his real name.  This  can be done with the Rename
  551. key.  The  Rename function will not allow you to change the name to an existing
  552. name.   Thus,  if you  already have  a John  on your  system, you  can't change
  553. somebody else's name to John.
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.                                        5
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.                                 ================
  611.                                 AUTO-MAINTENANCE
  612.                                 ================
  613.  
  614.  
  615.  
  616. Sapphire  is  designed to  perform  all maintenance  tasks automatically.   The
  617. following "maintenance" sections are simply an explanation of how it does this,
  618. so if you are browsing this manual for the first time, you can safely skip them
  619. without any problem.
  620.  
  621.  
  622.  
  623. User File Auto-Maintenance
  624. --------------------------
  625.  
  626.  
  627. The user  file will  hold up  to 350  user names.   When a  new user  signs up,
  628. Sapphire  looks for an inactive  user to replace.  The higher  the level of the
  629. member,  the longer it takes  for him to be  considered inactive.  Here are the
  630. required call-back times:
  631.  
  632.                   Level   Time-Out (Days)  Member Level Description
  633.                     1           10        Non-Member
  634.                     2           50        Basic Member
  635.                     3           60        Special Member
  636.                     4           70        Top Notch Member
  637.                     5           80        Inner Circle Member
  638.                     6           90        Aide-de-Sysop
  639.                     7          100        Co-Sysop
  640.                     8          110        Sysop
  641.  
  642. Note that this is only the time after which a user is eligible for replacement.
  643. If there  are no new sign-ups to replace  his name on the list, his user-record
  644. can remain valid forever.
  645.  
  646. The user named SYSOP is never eligible for replacement.
  647.  
  648.  
  649.  
  650. Message File Auto-Maintenance
  651. -----------------------------
  652.  
  653.  
  654. Sapphire maintains 225 message files.   When the last one is used up, the first
  655. one is replaced, thereby "deleting" the oldest one.
  656.  
  657. All messages  share the  same space.   There is  no way  to preserve a  message
  658. permanently.  If you have something you want to keep available for a long time,
  659. place it in  the library directory as a .TXT  file and tell the members  to use
  660. the LIBRARY command to review it.
  661.  
  662.  
  663.                                        6
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671. If you have to get rid of a message, use Sapphire's ERASE command.  There is no
  672. need to use DOS DEL or ERASE.
  673.  
  674.  
  675.  
  676. Library Auto-Maintenance
  677. ------------------------
  678.  
  679.  
  680. Any .TXT file that appears in the Library directory  will appear on the Library
  681. list.   The 39-character description  of each article  is taken  from the first
  682. line of each file (leading blanks are ignored).
  683.  
  684. Thus, you can add to the Library simply  by copying text files into the Library
  685. directory, and  remove articles using the  DOS DEL command.   For your members'
  686. convenience,  you might  sort  the directory  in  reverse-date order,  using  a
  687. utility such as Norton's DS command.
  688.  
  689.  
  690.  
  691. Files Auto-Maintenance
  692. ----------------------
  693.  
  694.  
  695. Sapphire maintains  a  list of  up to  500 uploads.    When the  list is  full,
  696. programs are dropped from the  list and deleted from the file directory accord-
  697. ing to a formula based on:
  698.  
  699.             (A)  Number of times the file has been downloaded
  700.             (B)  How many days have elapsed since the last request
  701.             (C)  How many days the file has been on the list
  702.  
  703. In other words, Sapphire will identify and replace the least popular file.
  704.  
  705. All  files are  protected  from this  auto-maintenance if  they have  seen some
  706. activity (download, or the initial upload) in the past 14 days.
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.                                        7
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.                       ====================================
  733.                       CUSTOMIZING YOUR SYSTEM'S APPEARANCE
  734.                       ====================================
  735.  
  736.  
  737.  
  738. Sapphire comes preconfigured as a "private online conversation club" named "The
  739. Pinnacle Club".  Some Sapphire  sysops find this approach appropriate to  their
  740. requirements, so there are a few Pinnacle Clubs around the world.
  741.  
  742. After running the basic system for a while, many sysops decide to fine-tune its
  743. function and appearance to suit their needs...
  744.  
  745.  
  746. An Overview of Your Customization Options
  747. -----------------------------------------
  748.  
  749.  
  750. There are several areas of customization for you to  consider, which are listed
  751. below in order of increasing difficulty:
  752.  
  753.  
  754.       1.    Configuration
  755.  
  756.       2.    Application
  757.  
  758.       3.    Hardware
  759.  
  760.       4.    Stock files
  761.  
  762.       5.    Message bases
  763.  
  764.       6.    Doors and events
  765.  
  766.       7.    Custom programming
  767.  
  768.  
  769. These are described, in order, below.
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.                                        8
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793. Option 1.  Configuration
  794. ------------------------
  795.  
  796.  
  797. The configuration program  (CONFIG on the main menu of  the SYSOP utility) lets
  798. you  specify some general information about your hardware and how you want your
  799. BBS to run.  In particular, you may wish to change some of the following items:
  800.  
  801.  
  802.       1.    Settings on the console ("Video settings" on the CONFIG menu)
  803.             - Use of color
  804.             - Number of lines displayed on the console (25, 43, or 50)
  805.  
  806.       2.    General preferences
  807.             - Console sound on/off
  808.             - Key click at the console
  809.             - Phone number format (e.g. 999-999-9999 or (999) 999-9999)
  810.             - Command prompt (e.g. ==> or "Enter your command now")
  811.  
  812.       3.    User settings ("Sign-up and security" on the CONFIG menu)
  813.             - Minimum baud-rate to sign on
  814.             - Length of time a user may spend on the system
  815.  
  816.  
  817.  
  818. Option 2.  Application
  819. ----------------------
  820.  
  821.  
  822. In deciding how  to customize your system,  you should keep in  mind what goals
  823. you have set.  For example, if you are running  a purely conversational system,
  824. your users  will benefit more from  hearing your thoughts on  the current topic
  825. than they will if you spent time writing online documentation.
  826.  
  827. Similarly,  if you are running  a files system, your  users want files, so your
  828. time may be well spent reading shareware catalogs, or calling other systems.
  829.  
  830. In other words, sometimes the best  customization is none at all.  Because when
  831. you come right down to it, BBS's are about people interacting, not text files.
  832.  
  833. In  order to best  support your  system's goals, you  may decide  to change the
  834. privileges  accorded the various membership levels.  For more information about
  835. this, see the chapter entitled "Designing Membership Levels".
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.                                        9
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854. Option 3.  Hardware
  855. -------------------
  856.  
  857.  
  858. Without a doubt, the easiest way to improve your BBS is to add  a faster modem.
  859. This  attracts more members -- especially those who own fast modems, since they
  860. tend to avoid systems that now seem "slow".  Since people can move more data in
  861. less  time, the traffic  on your system picks  up, which in  turn attracts more
  862. traffic.
  863.  
  864. Sapphire supports modem speeds up to  19200, although at higher baud-rates  you
  865. may  find that you need  a faster computer.  For example,  although an old 4.77
  866. Mhz  XT can support 9600  baud calls, it doesn't  actually send the text out at
  867. that speed; the connection will look more like a 2400-baud connection.
  868.  
  869.       TECHNICAL NOTE:  The current version of Sapphire does not explicit-
  870.       ly support "locked baud rates", but you can simulate  it by setting
  871.       all but one connect string to "XXX" (i.e. some nonsense string) and
  872.       the locked baud-rate as "CONNECT".  This will cause all connections
  873.       to be interpreted as  a connection at that  speed.  In order  to do
  874.       this, though, you must  be sure that your computer  can support the
  875.       locked  baud-rate.  For example, you could  not lock at 4.77 MHz XT
  876.       at 9600 baud; it would miss characters.
  877.  
  878. If you are running a file-transfer system, you can improve it by increasing the
  879. disk space.  When you increase your disk capacity, you should  set your related
  880. configuration  items ("upload  free  space" and  "maximum  files") accordingly,
  881. using the CONFIG option of the SYSOP utility.
  882.  
  883.  
  884.  
  885. Option 4.  Stock Files
  886. ----------------------
  887.  
  888.  
  889. The  easiest and most immediately gratifying way to customize your system is to
  890. modify  the "Stock files".  These are  explained in the chapter entitled "Stock
  891. Files".
  892.  
  893.  
  894.  
  895. Option 5.  Message Bases
  896. ------------------------
  897.  
  898.  
  899. A "message base"  is a  logical grouping  of messages.   For  example, if  your
  900. system  catered  to dog  breeders,  you might  group messages  about Dalmatians
  901. separately from  messages about Spaniels.   Thus, somebody with  no interest in
  902. Dalmatians would not have to read messages about that breed of dog.
  903.  
  904. In the  preceding  example, the  messages were  grouped by  subject ("breed  of
  905. dog").  You may  decide to group messages by some  other criterion, such as how
  906.  
  907.                                        10
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915. long the person  has been a  member of your  system, or how  much they  paid to
  916. join.
  917.  
  918. Sapphire  is initially  configured with  5 general  message bases,  which group
  919. messages according  to membership level.   That is to  say, a Level  1 (lowest)
  920. member has  access to  no message  bases, a Level  2 member  has access to  one
  921. message base, and so on.  A Level 5 member has access to 5 message bases.  (The
  922. sysop, at Level 8, has access to all message bases.)
  923.  
  924. These message  bases, along with  three other special-case  message bases,  are
  925. defined  in a  text file named  MESSAGES.DEF.   You can  edit this  file with a
  926. standard text editor, such as DOS's  EDLIN or EDIT, a programmer's editor, or a
  927. word-processor in non-document (generic DOS text) mode.
  928.  
  929. The format  of the  file is literally  self-explanatory, since the  file itself
  930. contains an explanation  of its format.   In order to view the file,  enter the
  931. following command at the DOS prompt:
  932.  
  933.       SEE MESSAGES.DEF
  934.  
  935. The SEE command  can also print the file.  Before you modify  the file, it is a
  936. good idea  to either print it out or make a backup copy.  You can make a backup
  937. copy by entering the following DOS command:
  938.  
  939.       COPY MESSAGES.DEF MESSAGES.OLD
  940.  
  941. This creates a second  copy of the file, named MESSAGES.OLD.  Thus, if you make
  942. a mistake and Sapphire no  longer understands the file,  you can restore it  to
  943. its original form with the command:
  944.  
  945.       COPY MESSAGES.OLD MESSAGES.DEF
  946.  
  947. In general, the MESSAGES.DEF  file allows you to define up  to 15 message bases
  948. (including logon announcements, feedback to sysop, and E-Mail).
  949.  
  950. After modifying the MESSAGES.DEF file, log on and use the command
  951.  
  952.       ==> BASES 
  953.  
  954. to verify that the messages bases are set up the way you want.  You can use the
  955. level-change function keys (ALT-F3 and ALT-F4) to try the BASES command at each
  956. membership level.
  957.  
  958.  
  959.  
  960. Option 6.  Doors and Events
  961. --------------------------
  962.  
  963.  
  964. Doors and  Events are covered  in their own  chapter, "Doors  and Events", pre-
  965. sented later in this manual.
  966.  
  967.  
  968.                                        11
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977. Option 7.  Custom Programming
  978. -----------------------------
  979.  
  980.  
  981. You  might find that Sapphire is excellent for your application, but needs just
  982. one little change to make it perfect.  For example, you may have an idea  for a
  983. new command that you think your users would find exciting.
  984.  
  985. In such case, you will require some custom  programming.  We can do it for you,
  986. or -- if you are familiar with Turbo Pascal -- you can do it yourself.
  987.  
  988. There  is, of course, a cost associated  with custom programming, but this cost
  989. can  frequently be  lowered if  your idea  can be  applied to  other customers'
  990. systems.   For example, Sapphire's  file download and  message reading  systems
  991. were largely  influenced by custom work.  Since in each case the customer had a
  992. good idea, we performed the modifications for an extremely low price.
  993.  
  994. Similarly, if  you wish to purchase a source code license to make the modifica-
  995. tions yourself, we  are willing  to offer discounts  if your  work has a  wider
  996. application.  If you have a good idea and you are handy with Turbo Pascal, give
  997. us a call!
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.                                        12
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.                          =============================
  1038.                          CUSTOMIZING MEMBERSHIP LEVELS
  1039.                          =============================
  1040.  
  1041.  
  1042.  
  1043. Overview of Membership Levels
  1044. -----------------------------
  1045.  
  1046.  
  1047. Sapphire  supports 8 membership levels.   In general, these  levels function as
  1048. follows:
  1049.  
  1050.  
  1051.       Level   1         Non-members
  1052.  
  1053.       Levels 2-5        Members
  1054.  
  1055.       Levels 6-8        System operations staff
  1056.  
  1057.  
  1058. Each membership level has a set of privileges associated with it:
  1059.  
  1060.  
  1061.       - Message bases that can be read (see previous chapter)
  1062.  
  1063.       - Commands that can be used
  1064.  
  1065.  
  1066. For  example, as initially configured, Sapphire provides a non-member (Level 1)
  1067. with the SEND command,  but no READ command.  This  means that a non-member can
  1068. ask  for  greater  access  privileges ("tell  us  a  bit  more  about yourself,
  1069. please!") but can  not really  use the system  (i.e. read  messages).  A  basic
  1070. member  (Level 1)  gets the READ  command and  (as defined  in the MSGBASES.DEF
  1071. file) gets to use one message base.
  1072.  
  1073. The initial  setup described above works  well, because it forces  new users to
  1074. type in a message.   You'll find that  you can judge just  by reading that  one
  1075. message, whether or not to make the person a full member.
  1076.  
  1077.  
  1078.  
  1079. Why Change Anything?
  1080. --------------------
  1081.  
  1082.  
  1083. No BBS design  works for everybody!   You may find  it necessary to  change the
  1084. initial configuration.  For example,  if you are a shareware author,  you might
  1085. want to make the GET (i.e. download software) command available to non-members,
  1086. so that people can obtain your software without waiting around to become a full
  1087. member.
  1088.  
  1089.  
  1090.                                        13
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098. Or  you might decide  to give  non-members their own  message base, so  you can
  1099. watch them in action.  You could give them access to a message  base by modify-
  1100. ing  the MSGBASES.DEF file  (as explained  in the last chapter),  but you would
  1101. also have to  give them  access to  the READ  command.   You would  do this  by
  1102. modifying the COMMANDS.LEV file.
  1103.  
  1104.  
  1105.  
  1106. The COMMANDS.LEV File
  1107. ---------------------
  1108.  
  1109.  
  1110. COMMANDS.LEV  is a text file that defines the minimum membership level required
  1111. for each of the internal (non-door) commands that Sapphire supports.
  1112.  
  1113. You can edit  COMMANDS.LEV with a standard text editor, such  as DOS's EDLIN or
  1114. EDIT, a programmer's  editor, or a word-processor in non-document  (generic DOS
  1115. text) mode.
  1116.  
  1117. The format  of the  file is literally  self-explanatory, since the  file itself
  1118. contains an explanation of its  format.  In order  to view the file,  enter the
  1119. following command at the DOS prompt:
  1120.  
  1121.       SEE COMMANDS.LEV
  1122.  
  1123. The SEE command can  also print the file.  Before you  modify the file, it is a
  1124. good idea to either print it out or make a backup copy.  You can make  a backup
  1125. copy by entering the following DOS command:
  1126.  
  1127.       COPY COMMANDS.LEV COMMANDS.OLD
  1128.  
  1129. This creates a second copy of the file, named COMMANDS.OLD.   Thus, if you make
  1130. a mistake and Sapphire  no longer understands the  file, you can restore  it to
  1131. its original form with the command:
  1132.  
  1133.       COPY COMMANDS.OLD COMMANDS.LEV
  1134.  
  1135. After modifying the COMMANDS.LEV file, log on and use the command
  1136.  
  1137.       ==> HELP S
  1138.  
  1139. to verify  that the  commands are set  up the way  you want.   You can  use the
  1140. level-change function keys (ALT-F3 and ALT-F4) to try the  HELP command at each
  1141. membership level.
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.                                        14
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159. Default Membership Design
  1160. -------------------------
  1161.  
  1162.  
  1163. Before designing your membership levels, you may  find it helpful to understand
  1164. our rational is designing the default setup.  This is explained below.
  1165.  
  1166.  
  1167.  
  1168. Level 1:          Non-member
  1169.  
  1170. May post:         Non-member message base
  1171.  
  1172. Commands:         BYE         Disconnect  from  system  (i.e. logoff)
  1173.                   HELP        Display a list of commands  you can use
  1174.                   INFO        Membership requirements for this system
  1175.                   SEND        Leave a message for other users to read
  1176.                   SPECS       Change the way things  look around here
  1177.                   TIME        Display how much time is left for visit
  1178.                   VERSION     Display  software version and copyright
  1179.  
  1180. Comments:         Note  the absence of the READ command.   Note also that we do
  1181.                   NOT put the  BASES command at this level.   New users who try
  1182.                   out that command tend to get miffed and log off.  It's better
  1183.                   for them to read the INFO article, and thus  get some idea of
  1184.                   what you are trying to accomplish with your system.
  1185.  
  1186. Note:             The  BYE, TIME and VERSION command are  locked at level 1 and
  1187.                   can not be assigned to a different membership level.
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.                                        15
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220. Level 2:          Basic Member
  1221.  
  1222. May post/read:    Non-member and Basic member message bases
  1223. May post:         Feedback to Sysop message base
  1224. May read:         Report from Sysop message base
  1225.  
  1226. Added commands:   EXPERT      Switch  between  casual and expert mode
  1227.                   BASES       Summary of  message  bases  you can use
  1228.                   GIMMICKS    Describes various  tricks  for messages
  1229.                   GRAPHICS    Switch  graphic  characters  on and off
  1230.                   HINTS       Tricks and tips  for using  this system
  1231.                   LIBRARY     Browse and read  in our  online library
  1232.                   MESSAGES    Quick summary of messages (time & user)
  1233.                   NAMES       Specify names  for  selecting READ etc.
  1234.                   PROTOCOL    Select  method  used for  file transfer
  1235.                   READ        Read  new messages  left by other users
  1236.                   REVIEW      Inspect a single message by DATE:MINUTE
  1237.                   SET         Modify the DATE:MINUTE for READ command
  1238.                   TEXT        Specify text to reduce READ output etc.
  1239.                   USERS       Display  information  about  our  users
  1240.  
  1241.  
  1242.  
  1243. Level 3:          Special Member
  1244.  
  1245. Added base:       Special Member
  1246.  
  1247. Added commands:   ACTIVITY    Display system activity for past 7 days
  1248.                   CHANGE      Modify a message you've sent previously
  1249.                   FILES       List software available for downloading
  1250.                   GET         Get some software  from our  collection
  1251.                   GIVE        Contribute software  to our  collection
  1252.                   MOVE        Move a message from one base to another
  1253.  
  1254.  
  1255.  
  1256. Level 4:          Top Notch Member
  1257.  
  1258. Added base:       Top Notch
  1259.  
  1260. Added commands:   CHAT        Page system operator for a conversation
  1261.                   OBSERVE     Overview of logon/logoff activity, etc.
  1262.  
  1263. Comments:         Note that lower-level members,  when doing the USERS command,
  1264.                   see Top Notch members listed as "Special".  Top Notch messag-
  1265.                   ing is completely hidden from lower levels.  The idea here is
  1266.                   to avoid displaying membership-level  differences where it is
  1267.                   not  relevant, while  providing  higher-level members  with a
  1268.                   measure of privacy.
  1269.  
  1270.  
  1271.  
  1272.  
  1273.                                        16
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281. Level 5:          Inner Circle Member
  1282.  
  1283. Added base:       Inner Circle
  1284.  
  1285. Added commands:   None
  1286.  
  1287. Comments:         Lower-level members, when doing a USERS command, see an Inner
  1288.                   Circle member  listed only as  "Special" (or "Top  Notch", in
  1289.                   the  case of  Level 4  members).   Inner Circle  messaging is
  1290.                   hidden from lower levels.  See Level 4 for explanation.
  1291.  
  1292.  
  1293.  
  1294. Level 6:          Aide-de-Sysop
  1295.  
  1296. Added commands:   ERASE     Remove message  (resets it to time 0:0)
  1297.  
  1298. Comments:         This level of authority allows people to keep the system tidy
  1299.                   without having access to personal member information, such as
  1300.                   phone numbers.
  1301.  
  1302.  
  1303.  
  1304. Level 7:          Co-Sysop
  1305.  
  1306. May read:         Feedback to Sysop
  1307.  
  1308. Added commands:   BANISH    Devalidate user (remove from user list)
  1309.                   DOORS     Update  your  list of  "Door"  programs
  1310.                   DOS       Shell out to DOS; type "EXIT" to return
  1311.                   DUMBTERM  Start dumb terminal  for outgoing calls
  1312.                   EVENTS    Schedule your BBS's  close-down  events
  1313.                   PROBE     Display user info  (see also USERS cmd)
  1314.                   VALIDATE  Grant a user  a higher membership level
  1315.  
  1316. Comments:         At this level, the USERS command gives more detailed informa-
  1317.                   tion, such as password and  phone number.  A co-sysop can run
  1318.                   the  entire system remotely.   He can not,  however, find out
  1319.                   the sysop's password.
  1320.  
  1321.  
  1322.  
  1323. Level 8:          Sysop
  1324.  
  1325. May post:         Logon Announcements
  1326.  
  1327. Added commands:   CLOSE     Shut down system; prevent further calls
  1328.  
  1329. Comments:         The  user named  "SYSOP" is  automatically placed  in "Ultra-
  1330.                   Mode".  See the explanation of "Ultra-Mode"  (Alt-F10) in the
  1331.                   "Function Keys" section.
  1332.  
  1333.  
  1334.                                        17
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.                             =======================
  1343.                             CUSTOMIZING STOCK FILES
  1344.                             =======================
  1345.  
  1346.  
  1347.  
  1348. Stock files are files that contain "stock" (i.e. generic) text -- material that
  1349. is displayed  frequently.   For example,  the BBS sign-on  logo is  contained a
  1350. stock file  (named LOGOXX.STD).  The  welcoming message is also  contained in a
  1351. stock file.  And so on.
  1352.  
  1353. To modify a stock file, you need a text editor, such as DOS EDLIN or EDIT, or a
  1354. programmer's editor, or  a word-processor  in non-document  (generic DOS  text)
  1355. mode.
  1356.  
  1357. Each stock file contains text,  and sometimes contains comments; any  line that
  1358. begins with a semi-colon is not displayed when the stock file is shown.
  1359.  
  1360. In order to browse through the various stock files, enter the following command
  1361. at the DOS prompt:
  1362.  
  1363.       SEE *.STD
  1364.  
  1365. This will let  you select and display  all files with a  STD extension.  (Stock
  1366. files also use the GRA extension.)
  1367.  
  1368. The SEE command  can also print the file.  Before you modify  the file, it is a
  1369. good idea to either print it out or make a backup copy.   You can make a backup
  1370. copy by entering the following DOS command:
  1371.  
  1372.       COPY *.STD *.OLD
  1373.  
  1374. This creates  a second copy  of each  stock file, named  <filename>.OLD.   (For
  1375. example, LOGOXX.STD  would be duplicated in  LOGOXX.OLD)  Thus,  if you make  a
  1376. mistake and Sapphire no  longer understands the file, you can restore it to its
  1377. original form with the command:
  1378.  
  1379.       COPY <filename>.OLD <filename>.STD
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.                                        18
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403. The Two Types of Stock Files
  1404. ----------------------------
  1405.  
  1406.  
  1407. Stock  files come  in two  varieties, identified  with the  .STD and  .GRA file
  1408. extensions...
  1409.  
  1410.  
  1411.       EXTENSION         MEANING
  1412.       ---------         -------
  1413.         .STD            Contains standard ASCII (no value greater than 128)
  1414.         .GRA            Contains IBM-PC extended ASCII ("graphics")
  1415.  
  1416.  
  1417. For example, a standard stock file might be named MAINXX.STD, while its graphic
  1418. equivalent would be named MAINXX.GRA.
  1419.  
  1420. A user will normally see only the standard  stock files (i.e. those with a  STD
  1421. extension).   However, the user can use  Sapphire's GRAPHICS command to turn on
  1422. the GRA stock files.
  1423.  
  1424. The current  version of Sapphire  does not  explicitly support full  ANSI stock
  1425. files (e.g. color  changes and animation).  The next  version will address this
  1426. need.
  1427.  
  1428. For a description of the purpose of each stock file, select the INFO section on
  1429. the SYSOP utility main menu, then select FILES.
  1430.  
  1431.  
  1432.  
  1433. Drawing with Graphic Characters
  1434. -------------------------------
  1435.  
  1436.  
  1437. In order to put graphic (extended ASCII) characters into a .GRA stock file, you
  1438. can use one of the following methods:
  1439.  
  1440.   1.  Press  and hold  the ALT  key, followed  by three  digits on  the numeric
  1441.       keypad.   This lets you enter any extended ASCII character.  For example,
  1442.       to enter  a  solid block  character, hold  down ALT  then  press (on  the
  1443.       numeric keypad) 2, then 1, then 9.  Release the ALT key.
  1444.  
  1445.       The problem with this method is that it is more than a little cumbersome,
  1446.       and it does not work on all  machines.  Also, some pop-up (TSR)  programs
  1447.       prevent it from working.
  1448.  
  1449.   2.  Define  the graphics  characters via  a keyboard  macro program,  such as
  1450.       Cruise Control, NewKey, PRD+, ProKey, SmartKey or SuperKey.  If you would
  1451.       like  an example of how we  set up SuperKey macros  to perform this task,
  1452.       just drop us a line asking for our SuperKey PC-ASCII macros, enclosing $3
  1453.       to defray the cost of the disk and postage.
  1454.  
  1455.  
  1456.                                        19
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464. Note that  ANSI animator  programs (such as  TheDraw) are  NOT appropriate  for
  1465. creating GRA stock files.  GRA files are  ordinary text files, except that they
  1466. use extended ASCII.  This has two benefits:
  1467.  
  1468.       1.    The files transmit quickly (ANSI is notoriously slow).
  1469.  
  1470.       2.    People  dialling in  can scroll  back and see  the screens.   (Many
  1471.             terminal  programs  do not  reinterpret  ANSI  when scrolled  back,
  1472.             resulting in some user confusion.)
  1473.  
  1474.  
  1475.  
  1476. Stock File Naming Convention
  1477. ----------------------------
  1478.  
  1479.  
  1480. Most of  the files  that come with  Sapphire follow  the naming format  of four
  1481. characters and two X's for the root  name (e.g. LOGOXX.STD).  These files  will
  1482. be displayed  to any user who encounters the situation in which it is appropri-
  1483. ate to display the stock file.
  1484.  
  1485. But  you can  exercise a  measure of  control over  which files  get displayed,
  1486. depending on  how you  name the stock files.   The "XX"  part of the  file name
  1487. holds the key:
  1488.  
  1489.       FORMAT:     AAAABC.DDD
  1490.  
  1491.       EXAMPLE#1:  UPFNXX.GRA
  1492.       EXAMPLE#2:  MAINX1.STD
  1493.  
  1494. In the FORMAT given above, the letters have the following meaning:
  1495.  
  1496.       AAAA  Four letters  identifying the purpose  of the  stock file.   In the
  1497.             examples,  UPFN is the file that is  displayed when the user has to
  1498.             supply an UPload File Name.  MAIN is displayed as the MAIN menu.
  1499.  
  1500.       B     User membership level (1 to 8)
  1501.  
  1502.       C     User expertise level (1 to 3)
  1503.  
  1504.       DDD   File extension (STD or GRA -- as explained previously)
  1505.  
  1506. Whenever Sapphire has to display a stock file, it will first try to find a file
  1507. that matches  the user membership and  expertise level.   Thus, a level  3 user
  1508. with expertise set at level 1 would see a file named MAIN31.STD when it is time
  1509. to show the main menu.  That is to say, he would see the file if it existed.
  1510.  
  1511. If it does not  exist, Sapphire tries to find a file  that matches but has an X
  1512. in one or both positions.  It will then pick the one that matches best.
  1513.  
  1514.  
  1515.  
  1516.  
  1517.                                        20
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.       EXAMPLE:    User is at membership level 4, expertise 3.
  1526.  
  1527.       FILES:      MAIN43.??? would be shown (??? here means STD or GRA)
  1528.                   MAIN4X.??? would be shown if MAIN43.??? didn't exist
  1529.                   MAINX3.??? would be shown if the previous two didn't exist
  1530.                   MAINXX.??? would be shown if none of the previous existed
  1531.                   Nothing    would be shown if none of the previous existed
  1532.  
  1533. The final line introduces an important  concept in the use of stock files.   By
  1534. leaving  out XX  files for  a given  stock file  application, you  will prevent
  1535. certain people from seeing that type of file.
  1536.  
  1537. The most obvious  application is for the  main menu.   Only MAINX1 is  defined,
  1538. which  means that any  membership level  can see that  file, but only  if their
  1539. expertise level is set to 1.  If their  expertise level is set to 2 or 3,  they
  1540. will NOT see a menu.
  1541.  
  1542. You may wish  to define some additional main menus.  This is, in fact, an ideal
  1543. way to get familiar with  stock file operations.  In order to  provide complete
  1544. coverage of all membership and expertise levels, you could define the following
  1545. 48 files (where ??? means both a STD and GRA file):
  1546.  
  1547.  
  1548.       MAIN11.???   MAIN12.???   MAIN13.???
  1549.       MAIN21.???   MAIN22.???   MAIN23.???
  1550.       :            :            :
  1551.       :            :            :
  1552.       MAIN71.???   MAIN72.???   MAIN73.???
  1553.       MAIN81.???   MAIN82.???   MAIN83.???
  1554.  
  1555.  
  1556. In actual  practice, however,  you probably  won't define  menus  for users  at
  1557. expertise level 2 or 3, so you'll actually define the following files...
  1558.  
  1559.  
  1560.       MAIN11.???   to   MAIN81.???
  1561.  
  1562.  
  1563. which is a more manageable task -- only 16 files.
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.                                        21
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586. Stock File Commands
  1587. -------------------
  1588.  
  1589.  
  1590. Stock files can contain, apart from text, special lines that  the user does not
  1591. see.  These are as follows:
  1592.  
  1593.  
  1594.       COMMAND     EXAMPLE           MEANING
  1595.       -------     ----------------  --------
  1596.       ;<space>    ; Hello world!    A comment
  1597.       ;<number>   ;8                Keep following lines together on screen
  1598.       ;LOG text   ;LOG Pistachio    Places text in the system (OBSERVE) log
  1599.       ;FNC color  ;FNC WOE          Sets functional color of file display
  1600.  
  1601.  
  1602. The comment and  log functions are self-explanatory.  You  can find examples of
  1603. both in the file UPDFXX.STD, which is the stock file that is displayed when the
  1604. user tries to  upload and there is not enough free space on  the disk.  In such
  1605. case, you want  to log this fact to  the OBSERVE log so that  you will find out
  1606. about it when you read the log later on.
  1607.  
  1608. The "semicolon number" command is known as "The Keep Command".  It is used when
  1609. you want to ensure  that certain text in  a stock file is kept together  on one
  1610. screen,  instead of  being broken in  the middle  with a  "More, Notepad, Quit"
  1611. prompt (which is displayed when the screen is full).
  1612.  
  1613. Let's say you had  placed, in a stock file, a list  of phone numbers that was 8
  1614. lines long.   It would be  annoying to the reader  if it was  broken up in  the
  1615. middle.  So you could start the table like this:
  1616.  
  1617.       ;8
  1618.       PHONE NUMBER      CONTACTS
  1619.       ------------      --------
  1620.       514-345-9578      Pinnacle Voice Support
  1621.       514-345-8654      Pinnacle Free Files BBS
  1622.       :
  1623.       etc.
  1624.  
  1625. The   ;8  line will  ensure that the next  8 lines are always  presented on the
  1626. same screen,  even if it  means presenting the  "More, Notepad,  Quit" prompt a
  1627. little early.
  1628.  
  1629. For examples of the keep command, refer to the stock file HINTXX.STD.
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.                                        22
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647. The "functional  color" command  lets you specify  the color  of the  following
  1648. text.   Normally, stock  files are  displayed in  light grey.   You  can switch
  1649. colors by using the ;FNC command.  The command works this way:
  1650.  
  1651.       COMMAND     COLOR USED  THEME OR FUNCTION
  1652.       -------     ----------  -----------------
  1653.       ;FNC HLP    Yellow      Helpful or explanatory information
  1654.       ;FNC INP    Light Cyan  User input
  1655.       ;FNC QUE    Light Green Text preceding user input (a prompt)
  1656.       ;FNC WOE    Light Red   Something unusual or troublesome is happening
  1657.       ;FNC INF    Green       Regular information and progress messages
  1658.       ;FNC FIL    Light Grey  Stock and message file output
  1659.       ;FNC HDG    Light Blue  A heading or title
  1660.       ;FNC INI    Light Grey  Initializes an alternating-color list
  1661.       ;FNC LIS    LtGry/Cyan  Switches to opposite color in list
  1662.       ;FNC HEY    Lt Magenta  Emphasized output
  1663.  
  1664. By defining colors using this method (which we call "thematic color  specifica-
  1665. tion")  we make possible  the rapid reconfiguration  of color on the  BBS.  The
  1666. value  of this  is not  immediately obvious,  because  color redefinition  is a
  1667. feature planned for the next version of Sapphire.   (See the "NEXT" item on the
  1668. INFO menu of the SYSOP utility for details.)
  1669.  
  1670. For the time  being, it does mean that you can control the color of stock files
  1671. so that they do not always appear in Light Grey.
  1672.  
  1673. The  INI and  LIS colors  are a  little different  from the  others.   When you
  1674. specify  INI, it initializes  "list color processing".   Thereafter, every time
  1675. Sapphire sees   ;FNC  LIS  it will  switch between Light  Grey and Cyan.   This
  1676. technique is very handy for distinguishing lines in a list.
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.                                        23
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.                                 ================
  1709.                                 DOORS AND EVENTS
  1710.                                 ================
  1711.  
  1712.  
  1713.  
  1714. The information presented  in this chapter is addressed to  experienced sysops.
  1715. If you are new to the joys  of sysoping, it would probably be best to avoid the
  1716. DOORS and EVENTS commands until you are more familiar with your new BBS.
  1717.  
  1718. Sapphire  will function perfectly  well without DOORS and  EVENTS installed, so
  1719. you can safely skip this chapter and come back to it later.
  1720.  
  1721.  
  1722.  
  1723. Definitions
  1724. -----------
  1725.  
  1726.  
  1727. Doors and events are both instances where the Sapphire program ends and control
  1728. is returned back to DOS.  In the case of a door, the shut-down is  initiated by
  1729. a  user;  for  events,  the shut-down  happens  automatically,  according to  a
  1730. schedule you set up.
  1731.  
  1732.  
  1733.  
  1734. Applications for Event Processing
  1735. ---------------------------------
  1736.  
  1737.  
  1738. Consider the following batch file.  (Note that the <-- arrow and following text
  1739. are comments, not part of the batch file.)
  1740.  
  1741.       REM Batch File Autoback
  1742.       :START                              <-- A batch file "label"
  1743.       SRUN                                <-- The main Sapphire program
  1744.       COPY SAPPHIRE.USR A:SAPPHIRE.USR   <-- Copy the user list
  1745.       GOTO START                          <-- Start over again
  1746.  
  1747. If you could arrange  to have the BBS come  down every night at  3:00, it could
  1748. make a spare copy of the user list on the A: drive.  This would be very useful,
  1749. although of course you would have to  make sure that the A: drive always had  a
  1750. floppy inserted and ready to go!
  1751.  
  1752. Set up  in this way,  you could leave town  for a long  weekend, confident that
  1753. your user list was being backed up every day.
  1754.  
  1755. This is  only  a very  simple  example  of the  benefits of  event  processing.
  1756. Another possible application is automatic  dial-out via your favourite communi-
  1757. cations program (to pick up mail, perhaps).  Of course, you would have to write
  1758. a "script" (i.e. a program that your comm program understands) in order to have
  1759. it dial out, sign on, pick up the mail, then return to DOS.
  1760.  
  1761.                                        24
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769. One very common  use for event processing is to support network systems such as
  1770. Fido -- a very complicated topic beyond the scope of this manual.
  1771.  
  1772.  
  1773.  
  1774. Applications for Doors Processing
  1775. ---------------------------------
  1776.  
  1777.  
  1778. A door is  an external program that a  user can run from Sapphire.   (It is, in
  1779. effect, a "door" into programs written by other people.)
  1780.  
  1781. There  are  dozens  of door  programs available.    One example  is  the Pyroto
  1782. Mountain gaming system,  which was also written by Pinnacle  Software.  You can
  1783. call it as a door, giving your members a chance to play this intriguing game of
  1784. magic and politics.  We also publish the Free Speech "open forum" system, which
  1785. can be run as a door. 
  1786.  
  1787. Before making a door available to your members, you should review it carefully.
  1788. The quality of door software varies greatly; some may crash, thereby failing to
  1789. return to DOS and consequently taking your BBS "off the air".
  1790.  
  1791. In order to run most doors  (i.e. those not created by Pinnacle  Software), you
  1792. will  require a door-data conversion program such as DoorMaster or DoorWay or a
  1793. specific  converter  program such  as  SP2QBBS.   The  latest version  of these
  1794. converters can usually  be obtained on your  local or national  BBS, or from  a
  1795. telecomputing service such as GEnie or CompuServe.
  1796.  
  1797.  
  1798.  
  1799. Coding Your Batch Files
  1800. -----------------------
  1801.  
  1802.  
  1803. In an environment  using doors and events or both,  everything is tied together
  1804. with batch (.BAT)  files.  (For detailed information about batch files, consult
  1805. your DOS reference manual.)
  1806.  
  1807. The  simplest kind of  batch file  was illustrated in the  "automatic user list
  1808. back-up" example shown earlier.   This was a  just a loop, executing one  func-
  1809. tion.  One problem, though ... you'll note that there was no way to get  out of
  1810. the loop!  So it was not a particularly useful program.
  1811.  
  1812. If  you want  to call Sapphire  from any directory,  put a batch  file like the
  1813. following one (which  you could call S.BAT)  in one of the directories  in your
  1814. PATH:
  1815.  
  1816.       ECHO OFF                            <-- Stop display of batch lines
  1817.       C:                                  <-- Change to the right drive
  1818.       CD \SAPPHIRE                        <-- Change to your Sapphire directory
  1819.       SAPPHIRE %1 %2                      <-- Jump to batch file SAPPHIRE.BAT
  1820.  
  1821.  
  1822.                                        25
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830. SAPPHIRE.BAT is a batch file that comes with Sapphire.  It looks like this:
  1831.  
  1832.       ECHO OFF                            <-- Stop display of batch lines
  1833.       SAPPHIRE %1 %2                      <-- Start up Sapphire
  1834.       EXTERNAL                            <-- Jump to batch file EXTERNAL.BAT
  1835.  
  1836. This batch file must be in the directory where SRUN.EXE resides.
  1837.  
  1838. The %1  and %2 after the SAPPHIRE allows you to pass parameters to Sapphire, so
  1839. you can start up  the batch file with  SAPPHIRE LOCAL   to run without a modem.
  1840. (This is how the SYSOP utility does it.)
  1841.  
  1842.  
  1843.  
  1844. How EXTERNAL.BAT Works
  1845. ----------------------
  1846.  
  1847.  
  1848. Don't look for a file named EXTERNAL.BAT in the Sapphire package -- there isn't
  1849. one.  EXTERNAL.BAT is created whenever Sapphire ends.
  1850.  
  1851. If Sapphire  is  shutting down  because you  are closing  it  (using the  CLOSE
  1852. command, for  example), EXTERNAL.BAT will be  empty.  As a  result, you'll drop
  1853. straight through to the DOS prompt.
  1854.  
  1855. For doors  and events, however, Sapphire  copies other batch  files into EXTER-
  1856. NAL.BAT.  So whatever was in those other batch files will get executed.
  1857.  
  1858. But how does this get us back to Sapphire?
  1859.  
  1860. After Sapphire copies  the other batch file into  EXTERNAL.BAT, it appends some
  1861. additional instructions, as in this example:
  1862.  
  1863.       C:                <-- Switch to Sapphire's "home" drive
  1864.       CD \SAPPHIRE      <-- Switch to Sapphire's "home" directory
  1865.       SAPPHIRE          <-- Jump to the SAPPHIRE.BAT batch file
  1866.  
  1867. And thus, the circle is completed.
  1868.  
  1869. Of course,  the extra instructions may  vary, depending on  where your copy  of
  1870. SRUN.EXE resides and the way you started up Sapphire.
  1871.  
  1872.  
  1873.  
  1874.  
  1875.  
  1876.  
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.                                        26
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891. Batch Templates
  1892. ---------------
  1893.  
  1894.  
  1895. You will use the DOORS and EVENTS commands to specify which batch files will be
  1896. copied to  EXTERNAL.BAT.  We will  call these files "Batch  Templates", because
  1897. although they end in .BAT, they are never actually run directly.
  1898.  
  1899. You can  write the templates without  regard to what happens  after the program
  1900. ends, because that's taken care of when Sapphire copies them to EXTERNAL.BAT. 
  1901.  
  1902. NOTE:   A template  must not call  another batch  file, unless that  batch file
  1903. contains the code to get back to SAPPHIRE.BAT.  You can, however, use the batch
  1904. file command "CALL", which is explained in your DOS reference manual.
  1905.  
  1906. For example,  to call up the PYROTO door, you could write a template file named
  1907. PYROTO.BAT, which looks like this:
  1908.  
  1909.       C:                <-- Make sure you are on the right drive
  1910.       CD \PYROTO        <-- Change to the Pyroto directory
  1911.       PYROTO            <-- Start up the program
  1912.  
  1913.  
  1914.  
  1915. Writing Door and Event Programs
  1916. -------------------------------
  1917.  
  1918.  
  1919. When Sapphire calls  a door  or event, it  always creates  a file  in the  root
  1920. directory of the drive containing Sapphire, named:
  1921.  
  1922.                                   SAPPHIRE.DAT
  1923.  
  1924. This file contains important information for doors and events.  If you  plan to
  1925. write door or event programs, you'll need access to this data.
  1926.  
  1927. Turbo Pascal  source-code, describing the layout  of the file, can  be found in
  1928. the file named SDOOR.INC.
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.                                        27
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.                                  =============
  1953.                                  FILE TRANSFER
  1954.                                  =============
  1955.  
  1956.  
  1957.  
  1958. What is File Transfer?
  1959. ----------------------
  1960.  
  1961.  
  1962. With Sapphire's file-transfer  feature installed, you will be able  to exchange
  1963. software  with  people who  dial into  your system,  using the  popular Xmodem,
  1964. Ymodem and Zmodem protocols.
  1965.  
  1966. Sapphire maintains  a list of  up to  500 programs (providing  there is  enough
  1967. space on your hard disk), along with statistics and documentation.
  1968.  
  1969. The  file-transfer feature requires  a system equipped with  a hard-disk with a
  1970. minimum of 1 Megabyte free space.
  1971.  
  1972.  
  1973.  
  1974. Installing File Transfer
  1975. ------------------------
  1976.  
  1977.  
  1978. In order to enable file-transfer (Xmodem, Ymodem  and Zmodem), you must install
  1979. the  DSZ file-transfer program, which is included  in the Sapphire package with
  1980. the permission of its author, Chuck Forsberg.
  1981.  
  1982. In order to install DSZ, select  the DSZ option on main menu the SYSOP utility.
  1983. This will enable the GET, GIVE, PROTOCOL or FILES.
  1984.  
  1985.  
  1986.  
  1987. Adding Software Locally
  1988. -----------------------
  1989.  
  1990.  
  1991. To add a file to the software collection while you are at the console, you must
  1992. first  place it  in  the  files directory  (usually  named  C:\SAPPHIRE\FILES).
  1993. Sapphire's DOS command comes in handy, here, for moving files around.
  1994.  
  1995. Afterwards,  use the  GIVE command.   For example,  if you  had moved  the file
  1996. PYROTO.LZH into the files directory, you would then enter this command:
  1997.  
  1998.       ==> GIVE PYROTO.LZH
  1999.  
  2000. You  would then be asked  who this file  is for (everybody,  sysop, etc.), then
  2001. asked to  write some  documentation about  the file.   (This step  is described
  2002. later, in more detail.)
  2003.  
  2004.  
  2005.                                        28
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015. Adding Software Remotely
  2016. ------------------------
  2017.  
  2018.  
  2019. A remote user follows essentially the same steps as a local user, but obviously
  2020. he cannot place the file directly into the files directory.  So  he must upload
  2021. the file,  using one of the  file-transfer protocols used  by Sapphire (Xmodem-
  2022. Checksum, Xmodem-CRC, Ymodem, Zmodem).
  2023.  
  2024. As a reward for  contributing software, he is granted "double-your-minutes-back
  2025. for this visit and the next".  For example, if it took him 10 minutes,  he gets
  2026. an extra 20 minutes for the  current visit, plus 20 extra minutes  for the next
  2027. session.
  2028.  
  2029.  
  2030.  
  2031. How Online Documentation Works
  2032. ------------------------------
  2033.  
  2034.  
  2035. After contributing a file, the contributor may write up to 48 lines of documen-
  2036. tation,  which other people will be able to read before deciding whether or not
  2037. to download this file.
  2038.  
  2039. Online documentation  that  has already  been  written  can be  re-used.    For
  2040. example, if you  are making available  a multi-file  software package, you  can
  2041. tell Sapphire to use one documentation file for all of the files.
  2042.  
  2043. Incidentally, if one of those software files is deleted, the documentation file
  2044. is retained -- as long as some other file is using it.
  2045.  
  2046. The  documentation step  uses the usual  text editor  that you  use for writing
  2047. messages.   No  new skills  need be  learned.   In fact,  you can  even include
  2048. private and exclusive messages in your documentation.
  2049.  
  2050.       NOTE:  If the entire documentation is private (i.e. the first line,
  2051.       or the summary  line are private),  then the  file can be  accessed
  2052.       only by the people listed in the private header.   This enables you
  2053.       to exchange files privately with a limited group of people.
  2054.  
  2055. The documentation  is saved  in the files  directory, in  a file with  the same
  2056. root-name as the  original file.  For example, a  file named VARITALE.ARC would
  2057. have a  documentation file named VARITALE.S-D associated with  it.  (S-D stands
  2058. for  Software Documentation.)  If you don't  like the documentation that a user
  2059. has written, you can copy some better documentation over the S-D file.  All S-D
  2060. files are standard text files, prepared with a text editor.
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.                                        29
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074. Transfer Protocols
  2075. ------------------
  2076.  
  2077.  
  2078. The Ymodem supported by Sapphire  is proper Ymodem, per the  original specific-
  2079. ation.   Some  very  respectable communications  programs confuse  the protocol
  2080. Xmodem-1K with  Ymodem.  If your  users complain that  Ymodem doesn't work  for
  2081. them, suggest they  switch their communications program from Ymodem  to Ymodem-
  2082. Batch.
  2083.  
  2084. You should  encourage your  users to  use the Zmodem  protocol, because  it has
  2085. built-in  crash recovery.  That  means that if the user is  cut off while down-
  2086. loading a file, he can pick up where he left off.
  2087.  
  2088. Crash recover also works on uploaded files.  If the user is disconnected during
  2089. an Xmodem or Ymodem transfer, Sapphire has no choice but to delete the  partial
  2090. file.  If  the user used Zmodem,  though, Sapphire retains the  partial file in
  2091. the files directory  -- though  it does  not add it  to the files  list.   This
  2092. enables the user  to call back  and pick up where  he left off,  using Zmodem's
  2093. crash recovery.
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.                                        30
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.                               ====================
  2136.                               MISCELLANEOUS TOPICS
  2137.                               ====================
  2138.  
  2139.  
  2140.  
  2141. Gear Shift
  2142. ----------
  2143.  
  2144.  
  2145. Sapphire supports adjustable output speed.  During output, a user can press one
  2146. of the number keys to "shift gears" for a comfortable reading speed.  The  keys
  2147. run from 1  (slow) to 9  (fast).   The 0 key is  the "top gear"  key.  It  sets
  2148. output speed to maximum.
  2149.  
  2150. When the main command prompt comes up, output is reset to full speed.  This has
  2151. proven  to be  a  convenient arrangement.    However, the  user  can  reset his
  2152. "default  gear", via the  SPECS command.  Certain  types of line-noise problems
  2153. have been solved by selecting a lower output speed.
  2154.  
  2155.  
  2156.  
  2157. Password Changes
  2158. ----------------
  2159.  
  2160.  
  2161. There is an undocumented feature in Sapphire which allows users to change their
  2162. passwords.  If you sign off by typing  BYE PASSWORD (no abbreviations) you will
  2163. be asked for a new password.
  2164.  
  2165. This  feature was  not explicitly  documented because  there  has long  been an
  2166. argument  among computer  security experts  about the  wisdom of  letting users
  2167. change (or even select) their passwords.
  2168.  
  2169. It might be  best to keep the BYE PASSWORD  feature secret if you give  users a
  2170. new password when you validate them.  Or perhaps you'll decide to avoid letting
  2171. them change  their password simply because  they tend to forget  what their new
  2172. password is.
  2173.  
  2174. Whether or not you let your users know about this feature is up to you.
  2175.  
  2176.  
  2177.  
  2178. Command Abbreviations
  2179. ---------------------
  2180.  
  2181.  
  2182. If Sapphire forced users to type every command in full, the advantages of using
  2183. words (instead of single  letters, as other BBS's  do) might seem  unimportant.
  2184. Fortunately, Sapphire lets users abbreviate and stack commands.  These tech
  2185. niques are described online, by the HINTS command.
  2186.  
  2187.  
  2188.                                        31
  2189.  
  2190.  
  2191.  
  2192.  
  2193.  
  2194.  
  2195.  
  2196.  
  2197. Additional Documentation
  2198. ------------------------
  2199.  
  2200.  
  2201. You can find additional information about Sapphire in the  SYSOP utility (enter
  2202. SYSOP at the DOS prompt).  In particular, refer to two sections:
  2203.  
  2204.       1.    The INFO menu provides a wide variety of information about Sapphire
  2205.             and also  lets you print the  order form, so you  can register your
  2206.             copy of Sapphire.
  2207.  
  2208.       2.    The CONFIG  program has  pop-up help  for each field  you can  con-
  2209.             figure.  There is a lot of useful information here, which you might
  2210.             find  interesting to read  even if you don't  change the configured
  2211.             values.
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.  
  2218.  
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.                                        32
  2250.